#ifndef PAYOFFBRIDGE_H
#define PAYOFFBRIDGE_H
#include "PayOff.h"

//Bridge Pattern, in contrast to use template class, for memory management
class PayOffBridge
{
public:
	PayOffBridge(const PayOff& innerPayOff);
	PayOffBridge(const PayOffBridge& rhs);
	PayOffBridge& operator=(const PayOffBridge& rhs);
	~PayOffBridge();
public:
	double operator()(double) const; 
private:
	PayOff* m_payoffptr;
};

#endif